const path = require('path')
const isProduct = process.env.NODE_ENV === 'production'
function resolve (dir) {
  return path.join(__dirname, dir)
}
module.exports = {
  // publicPath: isProduct ? 'xxx' : '',
  // baseUrl: "/",        //输出目录
  publicPath: './', // js css img 文件在被 index.html 文件引入的时候添加的前缀。
  outputDir: 'dist',
  lintOnSave: true,
  productionSourceMap: false,
  css: {
    loaderOptions: {
      less: {
        modifyVars: {
          'primary-color': '#1890ff',                         // 全局主色
          'link-color': '#1890ff',                            // 链接色
          'success-color': '#52c41a',                         // 成功色
          'warning-color': '#faad14',                         // 警告色
          'error-color': '#f5222d',                           // 错误色
          'font-size-base': '14px',                           // 主字号
          'eading-color': 'rgba(0, 0, 0, .85)',              // 标题色
          'text-color': 'rgba(0, 0, 0, .65)',                 // 主文本色
          'text-color-secondary' : 'rgba(0, 0, 0, .45)',      // 次文本色
          'disabled-color' : 'rgba(0, 0, 0, .25)',            // 失效色
          'border-radius-base': '4px',                        // 组件/浮层圆角
          'border-color-base': '#d9d9d9',                     // 边框色
          'box-shadow-base': '0 2px 8px rgba(0, 0, 0, .15)'  // 浮层阴影
        },
        javascriptEnabled: true
      }
    }
  },
  chainWebpack: (config) => {
    config.module
      .rule('')
      .test(/mxClient\.js$/)
      .use('exports-loader')
      .loader('exports-loader?mxClient,mxGraphModel,mxActor,mxShape,mxEventObject,mxGraph,mxPrintPreview,mxEventSource,mxRectangle,mxVertexHandler,mxMouseEvent,mxGraphView,mxImage,mxGeometry,mxRubberband,mxKeyHandler,mxDragSource,mxGraphModel,mxEvent,mxUtils,mxWindow,mxEvent,mxCodec,mxCell,mxConstants,mxPoint,mxGraphHandler,mxCylinder,mxCellRenderer,mxEvent,mxUndoManager')
      .end()
    config.resolve.alias
      .set('@', resolve('src'))
    config.module.rules.delete('svg')
    config.module
      .rule('svg-smart')
      .test(/\.svg$/)
      .include
      .add(resolve('src/assets/svg'))
      .end()
      .use('svg-sprite-loader')
      .loader('svg-sprite-loader')
      .options({
        symbolId: '[name]'
      })
  },
  configureWebpack: {
    resolve: {
      alias: {
        'bootstrap-components': path.resolve(__dirname, 'node_modules/bootstrap-vue/es/components')
      }
    }
  }
}
